From 2ecd97b37dcaf4569bec1543f6b2e77ca80d89d9 Mon Sep 17 00:00:00 2001 From: robertl Date: Sun, 20 Jan 2008 23:36:53 +0000 Subject: [PATCH] Add smart geocaching names to TomTom writer. git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@3063 f51c46e8-681c-474f-0cfe-069cfd0219fb --- gpsbabel/tomtom.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gpsbabel/tomtom.c b/gpsbabel/tomtom.c index db894b782..070324784 100644 --- a/gpsbabel/tomtom.c +++ b/gpsbabel/tomtom.c @@ -231,10 +231,24 @@ write_blocks( FILE *f, struct blockheader *blocks ) { if ( !blocks->ch1 && !blocks->ch2 ) { for ( i = 0; i < blocks->count; i++ ) { write_char( f, 2 ); - write_long( f, strlen( blocks->start[i].wpt->description ) + 14 ); + char desc_field [256]; + if (global_opts.smart_names && + blocks->start[i].wpt->gc_data.diff && + blocks->start[i].wpt->gc_data.terr) { + snprintf(desc_field,256,"%s(t%ud%u)%s(type%dcont%d)",blocks->start[i].wpt->description, + blocks->start[i].wpt->gc_data.terr/10, + blocks->start[i].wpt->gc_data.diff/10, + blocks->start[i].wpt->shortname, + (int) blocks->start[i].wpt->gc_data.type, + (int) blocks->start[i].wpt->gc_data.container); + //Unfortunately enums mean we get numbers for cache type and container. + } else { + strcpy(desc_field,blocks->start[i].wpt->description); + } + write_long( f, strlen( desc_field ) + 14 ); write_float_as_long( f, blocks->start[i].wpt->longitude*100000); write_float_as_long( f, blocks->start[i].wpt->latitude*100000); - write_string( f, blocks->start[i].wpt->description); + write_string( f, desc_field); } } } -- 2.30.2